The present invention relates to a method of accessing service resource items that are intended to be used in setting up bearer channels through a switched telecommunications system.
As used herein, the term xe2x80x9cswitched telecommunication systemxe2x80x9d means a system comprising a bearer network with switches for setting up a bearer channel through the network. The term xe2x80x9cswitched telecommunication systemxe2x80x9d is to be taken to include not only the existing public and private telephone systems (whether using analogue phones or ISDN-based), but also broadband (ATM) and other switch-based bearer networks that are currently being implemented or may emerge in the future. For convenience, the term xe2x80x9cswitched telecommunication systemxe2x80x9d is sometimes shortened herein to telecommunication system.
Reference to a xe2x80x9ccallxe2x80x9d in the context of a switched telecommunication system is to be understood as meaning a communication through a bearer channel set up across the bearer network, whilst references to call setup, maintenance and takedown are to be taken to mean the processes of setting up, maintaining and taking down a bearer channel through the bearer network. Terms such as xe2x80x9ccall processingxe2x80x9d and xe2x80x9ccall handlingxe2x80x9d are to be similarly interpreted.
The term xe2x80x9ccommunication systemxe2x80x9d when used herein should be understood as having a broader meaning than switched telecommunication system, and is intended to include datagram-based communication systems where each data packet is independently routed through a bearer network without following a predetermined bearer channel.
Telecommunication companies running PSTNs (Public Switched Telephone Networks) and PLMNs (Public Land Mobile Networks) are in the business of providing communication services and in doing so are providing increasing built-in intelligence in the form of xe2x80x9cIN servicesxe2x80x9d such as 800 number services and call forwarding. In contrast, the World Wide Web (WWW), which has seen explosive growth in recent times, is an example of an Internet-based global network providing complex information services. These two worlds, that of the large communications utilities and that of the highly dynamic, pioneer-spirit WWW information culture, are uneasy companions and each plans to encroach on the domain previously occupied by the others; thus telephony services will be offered over the WWW and information services over the public communication infrastructure.
The present invention proposes technologies for a more synergetic relationship between these two worlds than is currently envisaged and in order to place the present invention in context, a review will first be given of each of these two worlds.
The Basic PSTN. The basic service provided by a PSTN (Public Switched Telephone Network) is the interconnection of two telephones (that is, setting up a bearer channel between the telephones) according to a called-party telephone number input at the calling-party telephone. FIG. 1 is a simplified representation of a PSTN providing such a service. In particular, customer premises equipment, CPE, 10 (such as standard analogue telephones, but also more recently ISDN terminals) are connected through an access network 11 to switching points, SPs 12. The SPs 12 form nodes in an inter-exchange network 13 made up of interconnecting trunks 14 and SPs that are controlled by control entities 15 in the SPs. The control effected by the control entities 15 is determined by signalling inputs received from the CPEs and other SPs, and involves call setup, maintenance and clearance to provide the desired bearer channel between calling CPE and called CPE. Conceptually, the PSTN may be thought of as a bearer network and a control (signalling) network, the function of the latter being to effect call control through the bearer network, namely the control of setup, maintenance and take down of bearer channels through the bearer network; in practice, the bearer and signalling networks may use the same physical circuits and even the same logical channels.
Thus, where the CPE is a traditional dumb telephone, control signalling between the CPE and its local SP is in-band signalling, that is, the signalling is carried on the same channel as used for voice; this signalling is interpreted and converted at the SPs 12 into signalling between SPs that uses a dedicated common-channel signalling network 16 (implemented nowadays using the SS7 protocol suite). Where the CPE is an ISDN terminal, signalling is carried in a separate channel directly from the CPE on an end-to-end. Modern SPs use the ISUP (ISDN User Part) SS7 protocol for inter-exchange call control signalling whether the CPE is a standard telephone or an ISDN terminal.
Telephone Numbering Plansxe2x80x94As certain aspects of the present invention are influenced by the structuring of telephone numbers, a brief description will now be given of the structuring of such numbers. Telephone numbers form an international, hierarchical addressing scheme based on groups of decimal digits. The top level of the hierarchy is administered by the ITU-T, which has allocated single-digit numeric codes to the major geographic zones (for example xe2x80x9c1xe2x80x9d for North America, xe2x80x9c2xe2x80x9d for Africa, xe2x80x9c3xe2x80x9d for Europe, xe2x80x9c4xe2x80x9d for Europe, xe2x80x9c5xe2x80x9d for South America and Cuba, etc.). Within each zone countries are assigned 2 or 3 digit codes, so that within zone 3 France is xe2x80x9c33xe2x80x9d, and within zone 4 the UK is xe2x80x9c44xe2x80x9d. Administration of the numbering plan within a country is delegated to a national body, such as the Office of Telecommunications (xe2x80x9cOftelxe2x80x9d) in the UK. The following further description is based on the UK numbering plan, but the scheme described will be recognised as having widespread applicability.
In the UK all national numbers are prefixed by a code from 01 to 09 (the xe2x80x980xe2x80x99 prefix is dropped in international dialling). The currently assigned codes are xe2x80x9c01xe2x80x9d for Geographic Area Codes, xe2x80x9c02xe2x80x9d for Additional Geographic Area Codes, xe2x80x9c04xe2x80x9d for Mobile Services, xe2x80x9c07xe2x80x9d for Personal Numbers, and xe2x80x9c08xe2x80x9d for Special Service (freephone, information). Normal wireline PSTN subscriber telephone numbers are allocated from the Geographic Area Code codes, and currently only codes prefixed by 01 are allocated. Geographic area codes are presently 3 or 4 digits (excluding the leading xe2x80x980xe2x80x99) and there are currently 638 geographic areas each with its own code. A full national UK dialled number takes two forms:
The first case has the xe2x80x980xe2x80x99 prefix, a 3 digit area code and a 7 digit local number, and the second case has the xe2x80x980xe2x80x99 prefix, a 4 digit area code, and a 6 digit local number. Further interpretation of the local number will take place within the area exchange, as even a 6 digit address space is too large for a single switch, and for a typical local area several switches may be needed to host the required number of subscriber lines. This interpretation is opaque and is a matter for the area service provider.
In the current PSTN the inherently hierarchical and geographic interpretation of telephone numbers is mirrored by the physical architecture of the network. A telephone number is structured in a way that makes it easy to route a call through the network. At each step, the prefix of the number provides information about the current routing step, and the suffix (perhaps opaquely) provides information about subsequent routing steps; as long as a switch knows how to parse a prefix and carry out a routing step, it does not need to understand the content of the suffix, which is left for subsequent routing steps. For this reason the international and national switching fabric is also organised hierarchically.
Intelligent Networks. Returning now to a consideration of the current telephone network infrastruture, in addition to basic call handling, an SP may also serve to provide what are called IN (Intelligent Network) services; in this case the SP is termed a service switching point, SSP. An SSP 25 is arranged to suspend call processing at defined points-in-call upon particular criteria being met, and to delegate the continuation of call processing to a service control subsystem providing a service control function (SCF) either in the form of a service control point, SCP 17 (see FIG. 2) or an Adjunct 18. The Adjunct 18 is directly associated with an SSP 25 whilst the SCP 17 and SSP 25 communicate with each other via an extended common channel signalling (CCS) network 16 that may include signal transfer points (STP) 19. The SCP 17 may be associated with more than one SSP 25. Both the SCP 17 and Adjunct 18 provide a service logic execution environment (SLEE) 20 in which instances of one or more service logic programs (SLP) 21 can execute. The SLEE 20 and SLP 21 together provide service control functionality for providing services to the SSP 25.
Service logic running in an SCP or Adjunct will generally make use of subscriber information stored in a service data function (SDF) 22 that may be integral with the SCP/Adjunct or partially or wholly separate therefrom. The service data function (SDF), like the service control function (SCF) forms part of the service control subsystem of the PSTN. It may be noted that some or all of the service control function may be built into the PSTN switches themselves.
In addition to the SCP 17 and Adjunct 18, the FIG. 2 network includes an intelligent peripheral (IP) 23. The IP 23 provides resources to the SSP 25 such as voice announcements and DTMF digit collection capabilities. The network will also include an operation system (not shown) that has a general view of the network and its services and performs functions such as network monitoring and control.
In operation, when the SSP 25 receives a call, it examines internal trigger conditions and, possibly, user information (eg dialled digits) to ascertain if the call requires a service to be provided by the service control subsystem 17, 18; the checking of trigger conditions may be carried out at several different points in call processing. Where the SSP 25 determines that a service is required it messages the service control subsystem (either SCP 17 or Adjunct 18) requesting the desired service and sending it a logic representation of the call in terms of its connectivity and call processing status. The service control subsystem then provides the requested service and this may involve either a single interaction between the SSP and service control subsystem or a session of interactions. A typical service is call forwarding which is a called-party service giving expression to an end-user requirement as simple as xe2x80x9cif you call me on number X and it rings ten times, try calling number Yxe2x80x9d. In this case, it is the SSP local to the called end-user that triggers its associated SCP (or Adjunct) to provide this service; it will, of course, be appreciated that the SSP must be primed to know that the service is to be provided for a called number X.
The above-described model for the provision of IN services in a PSTN can also be mapped onto PLMNs (Public Land Mobile Networks) such as GSM and other mobile networks. Control signalling in the case of a mobile subscriber is more complex because in addition to all the usual signalling requirements, there is also a need to establish where a call to a mobile subscriber should be routed; however, this is not a very different problem from a number of called-party IN services in the PSTN. Thus in GSM, the service-data function (SDF) is largely located in a system named a Home Location Register (HLR) and the service control function. in a system named a Visitor Location Register (VLP) that is generally associated on a one-to-one basis with each SSP (which in GSM terminology is called a Mobile Switching Centre, MSC).
Because subscribers are mobile, the subscriber profile is transported from the HLR to whichever VLR happens to be functionally closest to be mobile subscriber, and from there the VLR operates the (fixed) service using the subscriber profile and interacts with the SSP. The HLR and VLR thus constitute a service control subsystem similar to an SCP or Adjunct with their associated databases.
It is, of course, also possible to provide IN services in private telephone systems and, in this case, the service control function and service data function are generally either integrated into a PABX (Private Automatic Branch Exchange) or provided by a local computer. The service control subsystem, whilst present, may thus not be a physically distinct from the PABX.
The above-described general architectural framework for providing IN services has both strengths and flaws. Its main strength is that it works and many services have been successfully deployed, such as 800 number services, credit card calling, voicemail, and various call waiting and redirection services. However, despite years of standardisation, services are still implemented one-at-a-time on proprietary platforms and do not scale well. The approach has been based on large, fault-tolerant systems which provide services for hundreds of thousands or even millions of subscribers and take years to deploy. Furthermore, since the networks used to support these services also constitute the basic telephone infrastructure, anything attached to these networks must be rigorously vetted. Additionally, each country and operator tends to have local variations of the so-called standards making it difficult to supply standard products and thereby braking the dynamics of competition.
Recently, there have been proposals for increasing the flexibility of public IN systems. The following documents describe a number of such proposals:
xe2x80x9cMethod and system for controlling the operation of a telephone exchange from a subscriber connectionxe2x80x9d WO/9423523 Nokia 13.10.94
This document describes how an SCP can be provisioned with command macros over a subscriber connection.
xe2x80x9cMediation of Open Advanced Intelligent Network Interface for Public switched Telephone Networkxe2x80x9d U.S. Pat. No. 5,438,568 Bellsouth Corporation 1.8.95
A mediation SCP monitors all messages to and from third-party service logic programs running, for example, on a third-party SCP.
xe2x80x9cCustomers in Driver""s Seat: Private Intelligent Network Control Pointxe2x80x9dM. Sevcik; R Lueder (Siemens) 23.4.95 ISS Symposium
This document describes a private SCP (PSCP) connected to a network SCP (NSCP) via a TCP/IP connection The NSCP forwards translated INAP messages directly to the PSCP. The PSCP is shown connected as a resource on a private TCP/IP LAN for accessing database information.
xe2x80x9cDistributed intelligence and data in public and private networksxe2x80x9d
R. P. Swale and D. R. Chesterton BT Technology Journal, 13 (1995)April No.2
This document discusses first and third-party CTI, the latter being termed xe2x80x9cprivate INxe2x80x9d. A comparison is then made between private and public IN, it being noted that they are often complementary. Finally, possibilities for interconnection of private and public IN are discussed including the accessing of a private database by a public network SCP.
In contrast to the slow deliberate progress of the telephone infrastructure, the WWW has grown explosively from its inception in 1989 to become the primary electronic information distribution service in terms of spread, availability and richness of information content. Anyone can, for a modest outlay, become an information provider with a world-wide audience in a highly interconnected information architecture.
The WWW is a client-server application running over the Internet and using a client-server protocol which mandates only the simplest of exchanges between client and server. This protocol is HTTP (Hyper Text Transfer Protocol) which is optimised for use over TCP/IP networks such as the Internet; the HTTP protocol can, however, also be used over networks using different communication protocol stacks.
Since the availability of literature concerning the WWW has seen the same sort of growth as the WWW itself, a detailed description of the WWW, HTTP and the Internet will not be given herein. An outline description will, however, be given with attention being paid to certain features of relevance to the present invention.
The WWW uses the Internet for interconnectivity. Internet is a system that connects together networks on a worldwide basis. Internet is based on the TCP/IP protocol suite and provides connectivity to networks that also use TCP/IP. For an entity to have a presence on the Internet, it needs both access to a network connected to the Internet and an IP address. IP addresses are hierarchically structured. Generally an entity will be identified at the user level by a name that can be resolved into the corresponding IP address by the Domain Name System (DNS) of the Internet. Because the DNS or adaptions of it are fundamental to at least certain embodiments of the invention described hereinafter, a description will next be given of the general form and operation of the DNS.
The Domain Name Systemxe2x80x94The DNS is a global, distributed, database, and without its performance, resilience and scalability much of the Internet would not exist in its current form. The DNS, in response to a client request, serves to associate an Internet host domain name with one or more Registration Records (RR) of differing types, the most common being an address (A) record (such as 15.144.8.69) and mail exchanger (MX) records (used to identify a domain host configured to accept electronic mail for a domain). The RRs are distributed across DNS name servers world-wide, these servers cooperating to provide the domain name translation service; no single DNS server contains more than a small part of the global database, but each server knows how to locate DNS servers which are xe2x80x9ccloserxe2x80x9d to the data than it is. For present purposes, the main characteristics of the DNS of interest are:
The host name space is organised as a tree-structured hierarchy of nodes with each host having a corresponding leaf node; each node has a label (except the root node) and each label begins with an alphabetic character and is followed by a sequence of alphabetic characters or digits. The full, or xe2x80x9cfully qualifiedxe2x80x9d name of a host is the string of node labels, each separated by a xe2x80x9c.xe2x80x9d, from the corresponding leaf node to the root node of the hierarchy, this latter being represented by a terminating xe2x80x9c.xe2x80x9d in the name. Thus a host machine xe2x80x9cfredxe2x80x9d of Hewlett-Packard Laboratories in Bristol, England will have a fully qualified domain name of xe2x80x9cfred.hpl.hp.com.xe2x80x9d (note that if a host name does not have a terminal xe2x80x9c.xe2x80x9d it is interpreted relative to the current node of the naming hierarchy).
Each host has one or more associated Registration Records (RRs).
There are a plurality of DNS servers each with responsibility for a subtree of the name space. A DNS server will hold RRs for all or part of its subtreexe2x80x94in the latter case it delegates responsibility for the remainder of the subtree to one or more further DNS servers. A DNS server knows the address of any server to which it has delegated responsibility and also the address of the server which has given it the responsibility for the subtree it manages. The DNS servers thus point to each other in a structuring reflecting that of the naming hierarchy.
An application wishing to make use of the DNS does so through an associated xe2x80x9cresolverxe2x80x9d that knows the address of at least one DNS server. When a DNS server is asked by this resolver for an RR of a specified host, it will return either the requested RR or the address of a DNS server closer to the server holding the RR in terms of traversal of the naming hierarchy. In effect, the hierarchy of the servers is ascended until a server is reached that also has responsibility for the domain name to be resolved; thereafter, the DNS server hierarchy is descended down to the server holding the RR for the domain name to be resolved.
The DNS uses a predetermined message format (in fact, it is the same for query and response) and uses the IP protocols.
These characteristics of the DNS may be considered as defining a xe2x80x9cDNS-typexe2x80x9d system always allowing for minor variations such as in label syntax, how the labels are combined (ordering, separators), the message format details, evolutions of the IP protocols etc.
Due to the hierarchical naming structure, it is possible to delegate responsibility for administering domains (subtrees) of the name space recursively. Thus, the top-level domains are administered by InterNic (these top-level domains include the familiar xe2x80x98comxe2x80x99, xe2x80x98eduxe2x80x99, xe2x80x98orgxe2x80x99, xe2x80x98intxe2x80x99, xe2x80x98netxe2x80x99, xe2x80x98milxe2x80x99 domains as well as top-level country domains specified by standard two-letter codes such as xe2x80x98usxe2x80x99, xe2x80x98ukxe2x80x99, xe2x80x98frxe2x80x99 etc.). At the next level, by way of example Hewlett-Packard Company is responsible for all names ending in xe2x80x98hp.comxe2x80x99 and British Universities are collectively responsible for all names ending in xe2x80x98ac.ukxe2x80x99. Descending further, and again by way of example, administration of the domain xe2x80x98hpl.hp.comxe2x80x99 is the responsibility of Hewlett-Packard Laboratories and administration of the subtree (domain) xe2x80x98newcastle.ac.ukxe2x80x99 is the responsibility of the University of Newcastle-upon-Tyne.
FIG. 3 illustrates the progress of an example query made from within Hewlett-Packard Laboratories. The host domain name to be resolved is xe2x80x98xy.newcastle.ac.ukxe2x80x99, a hypothetical machine at the University of Newcastle, United Kingdom. The query is presented to the DNS server responsible for the xe2x80x9chpl.hp.comxe2x80x9d subtree. This server does not hold the requested RR and so responds with the address of the xe2x80x9chp.comxe2x80x9d DNS server; this server is then queried and responds with the address of the xe2x80x98comxe2x80x99 DNS server which in turn responds with the address of the xe2x80x98.xe2x80x99 (root) DNS server. The query then proceeds iteratively down the xe2x80x98ukxe2x80x99 branch until the xe2x80x98newcastle.ac.ukxe2x80x99 server responds with the RR record for the name xe2x80x98xyxe2x80x99 in its subtree.
This looks extremely inefficient, but DNS servers are designed to build a dynamic cache, and are initialised with the addresses of several root servers, so in practice most of the iterative queries never take place. In this case the xe2x80x98hpl.hp.comxe2x80x99 DNS server will know the addresses of several root servers, and will likely have the addresses of xe2x80x98ukxe2x80x99 and xe2x80x98ac.ukxe2x80x99 servers in its cache. The first query to the xe2x80x98hpl.hp.comxe2x80x99 server will return the address of the xe2x80x98ac.ukxe2x80x99 server. The second query to the xe2x80x98ac.ukxe2x80x99 server will return the address of the xe2x80x98newcastle.ac.ukxe2x80x99 server, and the third query will return the RR in question. Any future queries with a xe2x80x98newcastle.ac.ukxe2x80x99 prefix will go direct to the newcastle DNS server as that address will be retained in the xe2x80x9chpl.hp.comxe2x80x9d DNS server cache. In practice names within a local subtree are resolved in a single query, and names outside the local subtree are resolved in two or three queries.
Rather than a resolver being responsible for carrying out the series of query iterations required to resolve a domain name, the resolver may specify its first query to be recursive in which case the receiving DNS server is responsible for resolving the query (if it cannot directly return the requested RR, it will itself issue a recursive query to a xe2x80x98closerxe2x80x99 DNS server, and so on).
It should also be noted that in practice each DNS server will be replicated, that is, organised as a primary and one or more secondaries. A primary DNS nameserver initialises itself from a database maintained on a local file system, while a secondary initialises itself by transferring information from a primary. A subtree will normally have one primary nameserver and anything up to ten secondariesxe2x80x94the limitation tends to be the time required by the secondaries to update their databases from the primary. The primary database is the master source of subtree information and is maintained by the domain DNS administrator. The secondaries are not simply standby secondaries but each actively participates in the DNS with dependent servers that point to it rather than to the corresponding primary.
DNS implementations, such as BIND, are widely available as a standard part of most UNIX systems, and can claim to be among the most robust and widely used distributed applications in existence.
Operation of the WWW Referring now to FIG. 4 of the accompanying drawings, access to the Internet 30 may be by direct connection to a network that is itself directly or indirectly connected to the Internet; such an arrangement is represented. by terminal 31 in FIG. 4 (this terminal may, for example, be a Unix workstation or a PC). Having a connection to the Internet of this form is known as having xe2x80x98network accessxe2x80x99. Any entity that has network access to the Internet may act as a server on the Internet provided it has sufficient associated functionality; in FIG. 4, entity 32 with file store 37 acts as a server.
Many users of the WWW do not have network access to the Internet but instead access the Internet via an Internet service provider, ISP, 33 that does have network access. In this case, the user terminal 34 will generally communicate with the ISP 33 over the public telephone system using a modem and employing either SLIP (Serial Line Interface Protocol) or PPP (Point-to-Point Protocol). These protocols allow Internet packets to traverse ordinary telephone lines. Access to the Internet of this form is known as xe2x80x9cdialup IPxe2x80x9d access. With this access method, the user terminal 34 is temporarily allocated an IP address during each user session; however, since this IP address may differ between sessions, it is not practical for the entity 34 to act as a server.
A cornerstone of the WWW is its ability to address particular information resources by means of an Uniform Resource Identifier (URI) that will generally be either a Uniform Resource Locator (URL) that identifies a resource by location, or a Uniform Resource Name (URN) that can be resolved into an URL. By way of example, a full or xe2x80x9cabsolutexe2x80x9d URL will comprise the following elements:
schemexe2x80x94this is the access scheme to be used to access the resource of interest;
hostxe2x80x94the Internet host domain name or IP address;
portxe2x80x94the host port for the (TCP) connection;
abs-pathxe2x80x94the absolute path of the resource on the host.
In fact, the xe2x80x98portxe2x80x99 may be omitted in which case port 80 is assumed.
FIG. 5 of the accompanying drawings shows an example URL for the Hewlett-Packard products welcome page. In this case, the elements are:
scheme xe2x80x94http
hostxe2x80x94www.hp.com
portxe2x80x94omitted (port 80 assumed)
abs-pathxe2x80x94Products.html
The HTTP protocol is based on a request/response paradigm. Referring again to FIG. 4 of the drawings, given a particular URI identifying a resource 30 to be accessed, a client establishes a connection with the server 31 corresponding to the xe2x80x9chostxe2x80x9d element of the URI and sends a request to the server. This request includes a request method, and the xe2x80x9cRequest-URIxe2x80x9d (which is generally just the absolute path of the resource on the server as identified by the xe2x80x9cabs-pathxe2x80x9d element of the URI); the request may include additional data elements. The server 31 then accesses the resource 36 (here held on storage 37) and responds and this response may include an entity of a type identified by a MIME (Multipurpose Internet Mail Extensions) type also included in the response.
The two main request methods are:
GETxe2x80x94This method results in the retrieval of whatever information (in the form of an entity) is identified by the Request-URI. It is important to note that if the Request-URI refers to a data-producing process, it is the produced data which is returned as the entity in the response and not the source text of the process.
POSTxe2x80x94This method is used to request that the destination server accept the entity enclosed in the request as a new subordinate of the resource identified by the Request-URI. The POST method can be used for annotation of existing resources, providing a message to a bulletin board, providing data to a data-handling process (for example, data produced as the result of submitting a form), and extending a database through an append operation.
In summary, the GET method can be used to directly retrieve data, or to trigger any process that will return an entity (which may either be data or a simply an indication of the result of running the process). The POST method is used for registering data and specifying this method is also effective to trigger a process in the server to handle the posted data appropriately.
The passing of information to a process triggered to run on a server using either the GET or POST method is currently done according to an interface called the Common Gateway Interface (CGI). The receiving process is often written in a scripting language though this is not essential. Typically, the triggered server script is used for interfacing to a database to service a query included in a GET request. Another use, already referred to, is to append data associated with a POST request to a database.
Other important factors in the success of the WWW is the use of the HyperText Markup Language (HTML) for representing the makeup of documents transferred over the WWW, and the availability of powerful graphical Web browsers, such as Netscape and Mosaic, for interpreting such documents in a client terminal to present them to a user. Basically, HTML is used to identify each part of a document, such as a title, or a graphic, and it is then up to the browser running in the client terminal to decide how to display each document part. However, HTML is more than thisxe2x80x94it also enables a URI and a request method to be associated with any element of a document (such as a particular word or an image) so that when a user points to and clicks on that element, the resource identified by the URI is accessed according to the scheme (protocol) and request method specified. This arrangement provides a hyperlink from one document to another. Using such hyperlinks, a user at a client terminal can skip effortlessly from one document downloaded from a server on one side of the world, to another document located on a server on the other side of the world. Since a document created by one author may include a hyperlink to a document created by another, an extremely powerful document cross-referring system results with no central bureaucratic control.
Hyperlinks are not the only intelligence that can be built into an HTML document. Another powerful feature is the ability to fill in a downloaded xe2x80x9cFormxe2x80x9d document on screen and then activate a xe2x80x98commitxe2x80x99 graphical button in order to have the entered information passed to a resource (such as a database) designed to collect such information. This is achieved by associating the POST request method with the xe2x80x98commitxe2x80x99 button together with the URI of the database resource; activating the xe2x80x98commitxe2x80x99 button results in the entered information being posted to the identified resource where it is appropriately handled.
Another powerful possibility is the association of program code (generally scripts to be interpreted) with particular documents elements, such as graphical buttons, this code being executed upon the button being activated. This opens up the possibility of users downloading program code from a resource and then running the code.
It will be appreciated by persons skilled in the art that HTML is only one of several currently available scripting languages delivering the functionality outlined above and it may be expected that any serious Web browser will have built-in support for multiple scripting languages. For example, Netscape 2.0 supports HTML 3.0, Java and LiveScript (the latter being Netscape proprietary scripting Language).
The importance of the role of the graphical Web browser itself should not be overlooked. As well as the ability to support multiple scripting languages, a Web browser should provide built-in support for standard media types, and the ability to load and execute programs in the client, amongst other features. These browsers may be viewed as operating systems for WWW interaction.
It is possible to provide a telephony service over the Internet between connected terminals by digitising voice input and sending it over the Internet in discrete packets for reassembly at the receiving terminal. This is an example of a communication service on the Internet. Conversely, it is possible to point to a variety of information services provided over the telephone system, such as the Minitel system widely available in France. However, these encroachments into each anothers traditional territories pose no real threat to either the Internet or the public telephone system.
Of more interest are areas of cooperative use of the Internet and the telephone system. In fact, one such area has existed for some considerable time and has been outlined above with reference to FIG. 4, namely the use of a modem link over the PSTN from a user computer 34 to an Internet service provider 33 in order to obtain dialup IP access to the Iniernet. This cooperative use is of a very simple nature, namely the setting up of a bearer channel over the PSTN for subsequently generated Internet traffic; there is no true interaction between the Internet and the PSTN.
Another known example of the cooperative use of the Internet and PSTN is a recently launched service by which an Internet user with a sound card in his/her terminal computer can make a voice call to a standard telephone anywhere in the world. This is achieved by transferring digitised voice over the Internet to a service provider near the destination telephone; this service provider then connects into the local PSTN to access the desired phone and transfers across into the local PSTN the voice traffic received over the Internet. Voice input from the called telephone is handled in the reverse manner. Key to this service is the ability to identify the service provider local (in telephony charging terms) to the destination phone. This arrangement, whilst offering the prospect of competition for the telecom operators for long distance calls, is again a simple chaining together of the Internet and PSTN. It may, however, be noted that in this case it is necessary to provide at least a minimum of feedback to the Internet calling party on the progress of call set to the destination telephone over the PSTN local to that telephone; this feedback need only be in terms of whether or not the call has succeeded.
From the foregoing it can be seen that the current cooperative use of the Internet and telephone system is at a very simple level.
It is an object of the present invention to provide a method of accessing a service resource item over a communications network that facilitates the integration of the PSTN and the WWW.
According to the present invention, there is provided a method of accessing service resource items for use in respect of setting up bearer channels through a switched telecommunications system, the method including the steps of:
(a) provisioning at least one server connected to a computer network with a plurality of service resource items that are thereafter locatable on said computer network by corresponding known URIs, said computer network being logically distinct from the telecommunications system, and said service resource items relating to setup control for bearer channels through said telecommunications system with each said service resource item being associated with a respective predetermined code, said predetermined codes being distinct from said URIs and identifying end-point entities for said bearer channels;
(b) providing a mapping between each said predetermined code and the said known URI of the service resource item associated with that predetermined code; and
(c) utilising a said predetermined code to access a corresponding said service resource item by using said mapping to determine the URI corresponding to that resource item and then using this URI to access the service resource item over said computer network.
In one embodiment, at least some of the URIs are derivable from their corresponding said predetermined codes by manipulation according to a function specified by said mapping. In another embodiment, at least some of the URIs are derivable from their corresponding said predetermined codes by look up in an association table associating said predetermined codes and URIs according to said mapping. This association table can advantageously be held on at least one database server connected to the computer network, step (c) involving accessing the database server over the computer network to determine the URI corresponding to the said predetermined code. Preferably, the said at least one database server is provided by a DNS-type distributed database system in which the URIs are held in records associated with respective names, herein referred to as domain names, by which the records can be retrieved. In this case, step (c) involves translating said predetermined code into a corresponding domain name and using this domain name to retrieve the URI of the required service resource item from the DNS-type distributed database system.
More than one service resource item can be located at the same URI; in this case, the predetermined codes of these service resource items will include respective relative-resource-identifier values that can be used at the server holding the service resource items to identify the required resource item amongst the service resource items at the same URI.
The telecommunications system may be a telephone system with each said predetermined code being either the telephone number of the calling party or the telephone number of the called party (these numbers may either be the numbers of specific telephones, or personal numbers). In one preferred embodiment where at least some of said predetermined codes are called-party telephone numbers, the corresponding service resource items are the current telephone numbers of the called parties.
Generally as regards the nature of the service resources, these may be of the following type:
service logic intended to be executed by the corresponding server upon being accessed with the result of this execution being returned to the accessing entity;
downloadable service data which upon being accessed is intended to be downloaded to the accessing entity;
downloadable service logic which upon being accessed is intended to be downloaded to the accessing entity for execution thereby.
Preferably, where URIs are referred to in the foregoing, these URIs are URLs and/or URNs. Furthermore, the servers referred to are preferably HTTP servers.
It is to be understood that reference in the foregoing to the computer network being logically distinct from the telecommunications system is not to be taken to imply that there is physical separation of the twoxe2x80x94indeed, there will frequently be joint use of the same physical infrastructure. Furthermore, not only may bearer channels set up in the telecommunications system share the same transmission medium as the computer network, but such a bearer channel may act as a pipe for traffic across the computer network. The intention of requiring the computer network to be logically distinct from the telecommunications system is to exclude computer networks that are dedicated to the management or monitoring of the bearer network and effectively form part of the telecommunications system itself.
Preferably, the computer network is generally accessible to users of the telecommunications system as this provides a number of benefits to users that will become apparent hereinafter. The phrase xe2x80x9cgenerally accessiblexe2x80x9d should not be construed as meaning that all users of the telecommunications system have such access to the computer network or can get such access but, rather, it should be understood as meaning that a significant proportion of these users have or can obtain access to the computer network.
By way of example, in one preferred embodiment of the invention, the computer network generally accessible to users of the telecommunications system but logically distinct from it, is the Internet and the telecommunications system is a public telephone system. In another embodiment, the telecommunication system is a private system including a PABX, and the computer network is a LAN.